package org.comple.erp.pojo.sales;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 
 * @TableName quotation
 */
@Getter
@Setter
@EqualsAndHashCode
@ContentRowHeight(15)
@HeadRowHeight(20)
@ColumnWidth(25)
public class Quotation implements Serializable {
    /**
     * 
     */
    @ExcelProperty("报价单主键Id")
    private String id;

    /**
     * 开始日期
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("有效开始日期")
    private Date start_date;

    /**
     * 结束日期
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("有效结束日期")
    private Date end_date;

    /**
     * 客户类型（1.单客户，2.地区，3.级别）
     */
    @ExcelProperty("客户类型（1.单客户，2.地区，3.级别）")
    private Integer customer_type;

    /**
     * 根据客户类型选择
     */
    @ExcelProperty("客户主体")
    private String customerName;

    /**
     * 
     */
    @ExcelProperty("销售员id")
    private String workNumber;

    /**
     * 
     */
    @ExcelProperty("报价单编号")
    private String code;

    /**
     * 
     */
    @ExcelProperty("备注")
    private String remarks;

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    @ExcelProperty("配送方式（1.(快递物流)，2（自配），3（其他））")
    private Integer delivery;

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    @ExcelProperty("付款方式（1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付））")
    private Integer payment;

    /**
     * 
     */
    @ExcelProperty("公司编码")
    private String company_code;

    /**
     * 0（有效），1（过期），2（即将到期）
     */
    @ExcelProperty("有效状态")
    private Integer validStatus;

    /**
     * 0(已保存)，1(待审核)，2（已审核），3（已驳回）
     */
    @ExcelProperty("审核状态")
    private Integer auditStatus;

    /**
     * 客户地址
     */
    @ExcelProperty("客户地址")
    private String customer_address;

    /**
     * 销售员名称
     */
    @ExcelProperty("销售员名称")
    private String workName;

    /**
     * 客户id
     */
    @ExcelProperty("客户id")
    private String customerId;



    /**
     * 审核人员
     */
    @ExcelProperty("审核人员")
    private String checked_by;

    /**
     * 订单金额
     */
    @ExcelProperty("订单金额")
    private BigDecimal orderPrice;


    /**
     * 0(存在)，1（删除）
     */
    @ExcelProperty("删除状态")
    private Integer isDel;

    /**
     * 商品数量
     */
    @ExcelProperty("商品数量")
    private Integer itemCount;

    /**
     * 关联销售订单号
     */
    @ExcelProperty("关联销售订单号")
    private String salesOrderCode;

    /**
     * 关联销售单号
     */
    @ExcelProperty("关联销售单号")
    private String salesSlipCode;

    /**
     * 单据日期
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("单据日期")
    private Date confirmDate;

    /**
     *
     */
    private Date checkDate;

    private String staffName;



    private static final long serialVersionUID = 1L;

    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    public BigDecimal getOrderPrice() {
        return orderPrice;
    }

    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }

    public Integer getItemCount() {
        return itemCount;
    }

    public void setItemCount(Integer itemCount) {
        this.itemCount = itemCount;
    }

    private List<QuotationDet> quotationDetList;

    public List<QuotationDet> getQuotationDetList() {
        return quotationDetList;
    }

    public void setQuotationDetList(List<QuotationDet> quotationDetList) {
        this.quotationDetList = quotationDetList;
    }



    public Date getConfirmDate() {
        return confirmDate;
    }

    public void setConfirmDate(Date confirmDate) {
        this.confirmDate = confirmDate;
    }



    public String getStaffName() {
        return staffName;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }


    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 
     */
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    /**
     * 开始日期
     */
    public Date getStart_date() {
        return start_date;
    }

    /**
     * 开始日期
     */
    public void setStart_date(Date start_date) {
        this.start_date = start_date;
    }

    /**
     * 结束日期
     */
    public Date getEnd_date() {
        return end_date;
    }

    /**
     * 结束日期
     */
    public void setEnd_date(Date end_date) {
        this.end_date = end_date;
    }

    /**
     * 客户类型（1.单客户，2.地区，3.级别）
     */
    public Integer getCustomer_type() {
        return customer_type;
    }

    /**
     * 客户类型（1.单客户，2.地区，3.级别）
     */
    public void setCustomer_type(Integer customer_type) {
        this.customer_type = customer_type;
    }

    /**
     * 根据客户类型选择
     */

    /**
     * 
     */
    public String getWorkNumber() {
        return workNumber;
    }

    /**
     * 
     */
    public void setWorkNumber(String workNumber) {
        this.workNumber = workNumber;
    }

    /**
     * 
     */
    public String getCode() {
        return code;
    }

    /**
     * 
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 
     */
    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    public Integer getDelivery() {
        return delivery;
    }

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    public void setDelivery(Integer delivery) {
        this.delivery = delivery;
    }

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    public Integer getPayment() {
        return payment;
    }

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    public void setPayment(Integer payment) {
        this.payment = payment;
    }

    /**
     * 
     */
    public String getCompany_code() {
        return company_code;
    }

    /**
     * 
     */
    public void setCompany_code(String company_code) {
        this.company_code = company_code;
    }

    /**
     * 0（有效），1（过期），2（即将到期）
     */
    public Integer getValidStatus() {
        return validStatus;
    }

    /**
     * 0（有效），1（过期），2（即将到期）
     */
    public void setValidStatus(Integer validStatus) {
        this.validStatus = validStatus;
    }

    /**
     * 0(已保存)，1(待审核)，2（已审核），3（已驳回）
     */
    public Integer getAuditStatus() {
        return auditStatus;
    }

    /**
     * 0(已保存)，1(待审核)，2（已审核），3（已驳回）
     */
    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    /**
     * 
     */
    public String getChecked_by() {
        return checked_by;
    }

    /**
     * 
     */
    public void setChecked_by(String checked_by) {
        this.checked_by = checked_by;
    }

    /**
     * 0(存在)，1（删除）
     */
    public Integer getIsDel() {
        return isDel;
    }

    /**
     * 0(存在)，1（删除）
     */
    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public String getSalesOrderCode() {
        return salesOrderCode;
    }

    public void setSalesOrderCode(String salesOrderCode) {
        this.salesOrderCode = salesOrderCode;
    }

    public String getSalesSlipCode() {
        return salesSlipCode;
    }

    public void setSalesSlipCode(String salesSlipCode) {
        this.salesSlipCode = salesSlipCode;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getWorkName() {
        return workName;
    }

    public void setWorkName(String workName) {
        this.workName = workName;
    }

    public String getCustomer_address() {
        return customer_address;
    }

    public void setCustomer_address(String customer_address) {
        this.customer_address = customer_address;
    }
}